package com.jyw.system.service;

import me.chanjar.weixin.common.bean.WxJsapiSignature;
import me.chanjar.weixin.common.bean.WxOAuth2UserInfo;
import me.chanjar.weixin.common.bean.result.WxMediaUploadResult;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.Map;

/**
 * @author Created by ZhangCheng on 2024/01/22 (微信小程序应用)
 */
public interface IWeChatAppletService {

    /**
     * 获取Jsapi签名异
     *
     * @param url
     * @return
     */
    WxJsapiSignature getSign(String url);

    /**
     * 发送模板消息
     *
     * @param templateMessage
     */
    void sendTemplateMsg(WxMpTemplateMessage templateMessage);

    /**
     * 根据微信code获取用户信息
     *
     * @param code
     * @return
     */
    WxOAuth2UserInfo getWxUserInfo(String code);

    /**
     * 上传文件
     *
     * @param file
     * @param mediaType
     * @return
     */
    WxMediaUploadResult uploadFile(MultipartFile file,String mediaType);

    /**
     * 获取下载文件
     *
     * @param mediaId
     * @return
     */
    File getFileByMediaId(String mediaId);

    /**
     * 获取录音文件
     *
     * @param mediaId
     * @return
     */
    File getSoundByMediaId(String mediaId);
}
